/**
 *Copyright (c) 2024 watereyes
 * safetymanagement is licensed under Mulan PubL v2.
 * You can use this software according to the terms and conditions of the Mulan
 * PubL v2.
 * You may obtain a copy of Mulan PubL v2 at:
 *          http://license.coscl.org.cn/MulanPubL-2.0
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PubL v2 for more details.
 */
package com.koron.institution.bean;

import com.koron.common.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.web.multipart.MultipartFile;

import java.util.Date;

@ApiModel(value = "法规制度历史记录", description = "法规制度历史记录实体类")
public class InstitutionFileHistory extends BaseEntity {

    @ApiModelProperty(value = "制度code", name = "code", required = true)
    private String code;

    @ApiModelProperty(value = "目录id", name = "categoryId", required = true)
    private String categoryId;

    @ApiModelProperty(value = "目录名称", name = "categoryName", required = true)
    private String categoryName;

    @ApiModelProperty(value = "文件名称", name = "fileName", required = true)
    private String fileName;

    @ApiModelProperty(value = "文件编号", name = "fileCode", required = true)
    private String fileCode;

    @ApiModelProperty(value = "发版日期", name = "publicationDate", required = true)
    private Date publicationDate;

    @ApiModelProperty(value = "实施日期", name = "executionDate", required = true)
    private Date executionDate;

    @ApiModelProperty(value = "适用条款", name = "applicableProvisions")
    private String applicableProvisions;

    @ApiModelProperty(value = "备注", name = "remark")
    private String remark;

    @ApiModelProperty(value = "版本号", name = "version", required = true)
    private String version;

    @ApiModelProperty(value = "简述", name = "description")
    private String description;

    @ApiModelProperty(value = "文件path", name = "attachment")
    private String attachment;

    @ApiModelProperty(value = "法规制度类型(1.法规标准，2.集团制度，3.板块制度，4.公司制度)", name = "institutionType", required = true)
    private Integer institutionType;

    @ApiModelProperty(value = "排序编号", name = "indicationIndex", required = true)
    private Integer indicationIndex;

    @ApiModelProperty(value = "外部链接", name = "externalLink", required = true)
    private String externalLink;

    @ApiModelProperty(value = "水司code", name = "corpCode", required = true)
    private String corpCode;

    @ApiModelProperty(value = "流程id", name = "flowInstanceId")
    private String flowInstanceId;

    @ApiModelProperty(value = "新增制度id", name = "newInstitutionId")
    private String newInstitutionId;

    @ApiModelProperty(value = "状态(0.正常，1.新增审核中,2修改审核中,3废除审核中,4.废除)", name = "state", required = true)
    private Integer state;

    @ApiModelProperty(value = "是否历史(0.否,审批记录，1.是,历史记录)", name = "indicationIndex", required = true)
    private Integer historyFlag;

    @ApiModelProperty(name = "previewAttachment", value = "预览附件url", dataType = "String")
    private String previewAttachment;

    @ApiModelProperty(value = "片区code", name = "districtCode")
    private String districtCode;

    public String getDistrictCode() {
        return districtCode;
    }

    public void setDistrictCode(String districtCode) {
        this.districtCode = districtCode;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    public String getPreviewAttachment() {
        return previewAttachment;
    }

    public void setPreviewAttachment(String previewAttachment) {
        this.previewAttachment = previewAttachment;
    }


    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getHistoryFlag() {
        return historyFlag;
    }

    public void setHistoryFlag(Integer historyFlag) {
        this.historyFlag = historyFlag;
    }

    public String getExternalLink() {
        return externalLink;
    }

    public void setExternalLink(String externalLink) {
        this.externalLink = externalLink;
    }

    public String getFlowInstanceId() {
        return flowInstanceId;
    }

    public void setFlowInstanceId(String flowInstanceId) {
        this.flowInstanceId = flowInstanceId;
    }

    public String getNewInstitutionId() {
        return newInstitutionId;
    }

    public void setNewInstitutionId(String newInstitutionId) {
        this.newInstitutionId = newInstitutionId;
    }

    @ApiModelProperty(value = "文件", name = "file", required = true)
    private MultipartFile[] file;

    public MultipartFile[] getFile() {
        return file;
    }

    public void setFile(MultipartFile[] file) {
        this.file = file;
    }

    public Integer getIndicationIndex() {
        return indicationIndex;
    }

    public void setIndicationIndex(Integer indicationIndex) {
        this.indicationIndex = indicationIndex;
    }

    public String getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(String categoryId) {
        this.categoryId = categoryId;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFileCode() {
        return fileCode;
    }

    public void setFileCode(String fileCode) {
        this.fileCode = fileCode;
    }

    public Date getPublicationDate() {
        return publicationDate;
    }

    public void setPublicationDate(Date publicationDate) {
        this.publicationDate = publicationDate;
    }

    public Date getExecutionDate() {
        return executionDate;
    }

    public void setExecutionDate(Date executionDate) {
        this.executionDate = executionDate;
    }

    public String getApplicableProvisions() {
        return applicableProvisions;
    }

    public void setApplicableProvisions(String applicableProvisions) {
        this.applicableProvisions = applicableProvisions;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getAttachment() {
        return attachment;
    }

    public void setAttachment(String attachment) {
        this.attachment = attachment;
    }

    public Integer getInstitutionType() {
        return institutionType;
    }

    public void setInstitutionType(Integer institutionType) {
        this.institutionType = institutionType;
    }

    public String getCorpCode() {
        return corpCode;
    }

    public void setCorpCode(String corpCode) {
        this.corpCode = corpCode;
    }
}
